1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to data synchronization between a server and a client, and more particularly, to synchronizing EPG information between a server and a client in a digital broadcasting network.
2. Description of the Related Art
With the development of multimedia, the number of broadcasting service providers is increasing. Ever since cable broadcasting service providers have started broadcasting for niche markets where over-the-air broadcasting is not readily received, not only cable television (TV) service providers providing specialized channels of specific genres with better quality, but also satellite cable TV service providers have entered into the market. The service providers use tens to hundreds of channels. Information on the channels has to be provided to create a TV time table and to notify that the channels exist. A service provider allocates a specific channel as an electronic program guide (EPG) channel to provide the channel information. In this case, TV viewers passively observe the channel information scrolling on a TV screen. To avoid this, a method has been needed in which information on TV program is transferred through a network, and the information is stored in a client system so that the information can be immediately obtained at the request of a user.
In the case of digital broadcasting, the information is provided along with program and system information protocol (PSIP) data to be analyzed in the client system. However, the amount of information obtained in this way is small. For this reason, the information has to be provided through a network to provide larger and better information.
However, the cost to use the network and the amount of data to be transferred become excessive when the EPG information relating to many channels is processed. Therefore, an effective method of synchronizing EPG information is required.
To provide an effective personal video recorder (PVR) by using the EPG information, one to two weeks' amount of EPG information is required. Since programs scheduled to be broadcasted are frequently deleted, and new programs are frequently added, relevant information has to be updated in the client system. According to how the information is configured, communication between a server and a client is significantly affected.
FIG. 1 illustrates a structure of a related art digital broadcasting system for synchronizing EPG information.
The system of FIG. 1 is disclosed in the Korean Patent No. 10-0385328. When a server administrator adds, deletes, or updates the EPG information, the server cyclically creates a synchronization file whenever the EPG information is modified. In addition, clients, each of which has different synchronization times with each other, separately receive relevant synchronization files to synchronize the EPG information. This will be now described in detail with reference to FIG. 1.
When the server administrator modifies data, an update date tracing unit 101 writes a modification time into a server database 107 along with information on which actions (insert/delete/update) have been carried out.
FIG. 2 illustrates a modification history table stored in the server database 107 and a file to be transferred. When a server scheduler 103 generates an event to create a synchronization file, an update data creating unit 105 extracts records corresponding to a predetermined time period from the server database 107 to be stored in a file storing unit 109. For example, if an update file is created twice a day at 10:00 and 22:00, each synchronization file is configured according to the EPG information modified between 22:01 to 09:59 and 10:01 to 21:59.
At the client-side, when it is time to update the EPG information, a PVR scheduler 115 generates an event therefore and requests data from the server via a downloader unit 113. At the server-side, the synchronization file is transmitted through a data providing unit 111, and a client system requests a retransmission of required synchronization files included in a synchronization file list. After all required synchronization files are received at the client-side, the synchronization files are stored in the file storing unit 109. Then, a data update unit 119 reads the synchronization files and updates a PVR database 121 according to the content of the synchronization files.
However, in this case, the synchronization files created at the server-side include all content modified during the time period. As a result, unnecessary content is also included in the synchronization files. This causes file size to increase, thereby deteriorating file transfer efficiency.
Whenever the EPG information is modified, its modification history relating to the actions (insert/delete/update) is stored in the server database 107. As a result, when data is updated or deleted, the modification history of previous data still remains. This causes a waste of resources of the server database 107. Further, data may not be efficiently extracted.
For example, referring to FIG. 2, from 07:10 to 07:13, the server administrator deletes an item three times and inserts the item four times. This is the same as in the case when no modification occurs ever since the item is inserted at 07:10. Every modification history is stored in the server database in the order of a time sequence. Also, a synchronization file to be transmitted to the client system includes all the modification history.
At the client-side, when the client system has not been used for long, or the user just has purchased the client system, every synchronization file created before current data is configured is received and its database is updated according to the modified history recorded in the synchronization file. Consequently, the same process performed at the server-side has to be repeated at the client-side, thereby performing unnecessary operations.